# 定义函数
# def stu_info(gender="男",name,age):   # 缺省值参数必须放在其他参数的末尾，否则直接报错
def stu_info(name,age,gender="男"):
#     打印学生基本信息
        print(f"{name}的年龄是：{age},性别是：{gender}")

# 调用函数
stu_info("张三",18)
stu_info("李四",19,"女")
stu_info(19,"王五","女")
stu_info(age=19,name="王五",gender="女")

# 多值参数
def func(*args):
        print(args)

# 需求:
# 1. 定义一个函数 sum_numbers，可以接收的 任意多个整数
# 2. 功能要求：将传递的 所有数字累加 并且返回累加结果
# 分析：
# ①.定义函数（有参数，并且个数不确定）
def sum_numbers(*args):
#一个变量args接收了一堆数据（元组数据类型）如：args = （1,2,3,4,5)
# 定义初始结果变量
        result = 0
# 先取出元素
        for i in args:
#                 再累计求和
                result += i
# 返回结果
        return f"累加的结果是：{result}"

# ②调用函数
aa = sum_numbers(1,2,3,4,5,6)
print(aa)


#元组拆包
# 调用函数时，在元组变量名前加*
# 分析
# 1.定义函数（有参数，并且个数不确定）
def sum_numbers(*args):
        """
        累计求和返回结果
        :param args: 多个参数
        :return: 返回计算结果
        """
#         多值参数的结果元组，所有数据累计求和：对于元组里面所有元素累计求和
# 元组元素取出来，然后分别累计求和
        result = 0
        for i in args:
            result += i   # result = result + i
        return result
# 调用函数
num = (1,2,3,4,5)
print(sum_numbers(*num))

